const express = require('express');
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');
const cors = require('cors');
const rateLimit = require("express-rate-limit");
const helmet = require('helmet');
const requestIp = require('request-ip');
//
const server = require('./config/server.js');
const routes = require('./routes/routes.js');
const app = express();
//
// app.use(helmet());
const limiter = rateLimit({
	windowMs: 60 * 1000,
	max: 100
});
app.use(limiter);

// 中间件函数，用于检查请求的来源 IP 地址是否在允许的列表中
// const restrictIP = (req, res, next) => {
//     const clientIP = requestIp.getClientIp(req);

//     // 如果请求的 IP 不在允许的 IP 地址列表中，则返回 403 禁止访问
//     if (clientIP=='154.92.19.71') {
//         return res.status(403).send('不要搞啊！兄弟！');
//     }

//     // 如果不是是允许的 IP 地址，则继续执行下一个中间件或路由处理程序
//     next();
// };
// app.use(restrictIP);
app.use(express.static('public'));
app.use(cookieParser());
app.use(express.json());
app.use(bodyParser.urlencoded({
	extended: false
}));
app.use(cors());
//api总路由
app.use('/api', routes);
//
app.listen(server, () => {
	console.log(`Web 服务器启动在 ${server.port} 端口`);
});